//app.js
const config = require('config.js')
const http = require('http.js')
const updateManager = wx.getUpdateManager()
App({
  onLaunch: function () {
    this.globalData.isLogin = wx.getStorageSync('isLogin') || false
    this.globalData.userInfo = wx.getStorageSync('userInfo') || null
    var app = this
    wx.getSystemInfo({
      success: (result) => {
        console.log("result==", result.windowHeight)
        app.globalData.windowHeight = result.windowHeight
        app.globalData.statusBarHeight = result.statusBarHeight
      },
    })

    // 登录
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
        wx.showLoading({
          title: '正在加载中...',
        })
        wx.request({
          url: config.login,
          data: {
            code: res.code
          },
          method: 'POST',
          success(res) {
            console.log("login res", res)
            if (res.data.data != null) {
              wx.setStorageSync('sessionId', res.data.data)
            }
          },
          fail(err) {},
          complete() {
            wx.hideLoading()
          }
        })
      }
    })
    // 获取用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
          wx.getUserInfo({
            success: res => {
              // 可以将 res 发送给后台解码出 unionId
              // console.log("getUserInfo res", res)
              this.globalData.userInfo = res.userInfo
              this.globalData.isLogin = true
              wx.setStorageSync('userInfo', res.userInfo)
              wx.setStorageSync('isLogin', true)
              // this.postuserInfo(res)
            }
          })
        }
      }
    })

    updateManager.onCheckForUpdate(function (res) {
      // 请求完新版本信息的回调
      console.log(res.hasUpdate)
    })

    updateManager.onUpdateReady(function () {
      wx.showModal({
        title: '更新提示',
        content: '新版本已经准备好，是否重启应用？',
        success(res) {
          if (res.confirm) {
            // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
            updateManager.applyUpdate()
          }
        }
      })
    })

    updateManager.onUpdateFailed(function () {
      // 新版本下载失败
    })
  },
  globalData: {
    userInfo: null,
    windowHeight: 0,
    statusBarHeight: 0,
    isLogin: false
  },
  postuserInfo: function (res) {
    http.request(
      config.reg,
      'POST', {
        encryptedData: res.encryptedData,
        iv: res.iv,
        rawData: res.rawData,
        signature: res.signature
      },
      function (res) {
        
      },
      function (err) {
        wx.showToast({
          title: err,
          icon: 'none',
        })
      }
    )
  }
})